Capture Knowledge
adamayoung/TMDb
Records non-obvious lessons from a finished task, such as gotchas, API quirks and design decisions, into a project's knowledge folder before a pull request opens.
GRASP principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code.
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledge --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/grasp-knowledge .claude/skills/grasp-knowledge && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .claude/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledgeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledge --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/grasp-knowledge .agents/skills/grasp-knowledge && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .agents/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledge --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/grasp-knowledge .cursor/skills/grasp-knowledge && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .cursor/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dykyi-roman/awesome-claude-code.git --path skills/grasp-knowledge--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledge --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/grasp-knowledge .gemini/skills/grasp-knowledge && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .gemini/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledgeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/grasp-knowledge .github/skills/grasp-knowledge && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .github/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dykyi-roman/awesome-claude-code grasp-knowledge --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/grasp-knowledge .opencode/skills/grasp-knowledge && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "grasp-knowledge" agent skill from https://github.com/dykyi-roman/awesome-claude-code/tree/master/skills/grasp-knowledge into .opencode/skills/grasp-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grasp-knowledge", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
grasp-knowledgeGRASP principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code.
Grasp Knowledge is an agent skill from dykyi-roman/awesome-claude-code. GRASP principles knowledge base for PHP 8.4 projects. Provides quick reference for 9 responsibility assignment patterns (Information Expert, Creator, Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, Protected Variations). Use for architecture audits and design decisions.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files and assets (for example `assets/report-template.md`, `references/antipatterns.md` and `references/controller.md`).
It sits in Knowledge Management, covering Architecture decision records, Knowledge bases and Domain-driven design. It works with PHP. The repository describes itself as: PHP Architecture Toolkit for Claude Code (DDD, CQRS, Event Sourcing, Hexagonal, Clean Architecture, SOLID, GRASP, PSR, Design Patterns, Testing, Documentation, Code Review). The licence is MIT.
Read from SKILL.md and the folder at commit 7e1fea8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and php).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Grasp Knowledge loads about 1.4k tokens when it runs, and up to ~27k if it reads all its reference files. Until then it costs about 81 tokens; SKILL.md has 293 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from dykyi-roman/awesome-claude-code at commit 7e1fea8, republished under its MIT licence (© dykyi-roman). 293 words, ~1,392 tokens.
.claude/skills/grasp-knowledge/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.GRASP (General Responsibility Assignment Software Patterns) provides guidelines for assigning responsibilities to classes and objects in object-oriented design.
| Principle | Core Question | Goal |
|---|---|---|
| Information Expert | Who has the data? | Assign to class with information |
| Creator | Who creates objects? | Assign creation responsibility |
| Controller | Who handles system events? | Coordinate use case flow |
| Low Coupling | How to reduce dependencies? | Minimize interconnections |
| High Cohesion | How to focus responsibilities? | Keep related things together |
| Polymorphism | How to handle type variations? | Use polymorphic operations |
| Pure Fabrication | What if no domain class fits? | Create artificial class |
| Indirection | How to decouple? | Add intermediate object |
| Protected Variations | How to handle change? | Hide variation points |
# Feature Envy: Class uses other class's data more
Grep: "->get.*->get.*->get" --glob "**/*.php"
# Train wreck calls
Grep: "->.*()->.*()->.*()->" --glob "**/*.php"Signs: Method accesses other object's data extensively, data and behavior separated.
# Random creation locations
Grep: "new\s\+[A-Z][a-z]*[A-Z]" --glob "**/*.php"Signs: Objects created in unexpected places, no clear creation ownership.
# Fat controllers (>100 lines)
find . -path "*/Controller/*.php" -exec wc -l {} \; | awk '$1 > 100'
# Business logic in controllers
Grep: "if.*&&.*||" --glob "*Controller.php"Signs: Controller has >100 lines, business logic in controller.
# High dependency count (>7)
Grep: "__construct" --glob "**/*.php" -A 15
# Concrete type dependencies
Grep: "function.*([A-Z][a-z]*[A-Z]" --glob "**/*.php"Signs: Class has >7 dependencies, depends on concrete classes.
# Unrelated method names
Grep: "public function" --glob "**/*.php" | grep -E "And[A-Z]|Or[A-Z]"
# Multiple responsibilities in class name
Grep: "class.*Manager|class.*Handler|class.*Processor" --glob "**/*.php"Signs: Methods don't relate to each other, class does many unrelated things.
// BAD: Logic outside of object with data
final class OrderService
{
public function calculateTotal(Order $order): Money
{
$total = Money::zero();
foreach ($order->getLines() as $line) {
$total = $total->add($line->getProduct()->getPrice()->multiply($line->getQuantity()));
}
return $total;
}
}
// GOOD: Logic in class that has the data
final class Order
{
public function total(): Money
{
return array_reduce(
$this->lines,
fn(Money $sum, OrderLine $line) => $sum->add($line->total()),
Money::zero(),
);
}
}// BAD: Depends on concrete classes
final class ReportGenerator
{
public function __construct(
private DoctrineOrderRepository $orders,
private SymfonyMailer $mailer,
) {}
}
// GOOD: Depends on abstractions
final readonly class ReportGenerator
{
public function __construct(
private OrderReader $orders,
private Mailer $mailer,
) {}
}// BAD: Low cohesion - unrelated responsibilities
final class UserManager
{
public function register(array $data): User { }
public function sendEmail(User $user): void { }
public function generateReport(): string { }
}
// GOOD: High cohesion - focused responsibilities
final readonly class UserRegistrationService
{
public function register(RegistrationData $data): User { }
public function confirmEmail(Token $token): void { }
}| GRASP | DDD Application |
|---|---|
| Information Expert | Entities contain their behavior |
| Creator | Aggregates create their entities |
| Controller | Application Services / Use Cases |
| Low Coupling | Bounded Context boundaries |
| High Cohesion | Aggregate consistency boundary |
| Polymorphism | Domain Services, Strategies |
| Pure Fabrication | Repositories, Factories, Specifications |
| Indirection | Anti-Corruption Layer, Adapters |
| Protected Variations | Ports & Adapters, Domain Events |
For detailed patterns and examples, see references/:
information-expert.md — Tell Don't Ask, calculations in ownercreator.md — Factory patterns, aggregation rulescontroller.md — Use case handlers, thin controllerslow-coupling.md — Dependency injection, abstractionshigh-cohesion.md — Focused responsibilitiespolymorphism.md — Strategy pattern, type variationspure-fabrication.md — Repositories, specificationsindirection.md — Adapters, mediatorsprotected-variations.md — Stable interfacesantipatterns.md — Common GRASP violationsassets/report-template.md — GRASP audit report format© dykyi-roman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (references, assets) in skills/grasp-knowledge of dykyi-roman/awesome-claude-code.
Open the folder on GitHubat commit 7e1fea8
Grasp Knowledge next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Grasp Knowledge this skilldykyi-roman/awesome-claude-code | 104 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Capture Knowledgeadamayoung/TMDb | 178 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Domain Modelingbrim-borium/spotify_sdk | 166 | 5 repos | ~806 | Automated safety check: Pass | Apache-2.0 | |
| Obsidian WriterAtmosphere/atmosphere | 3.8k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Domain Modelingvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~477 | Automated safety check: Pass | MIT | |
| Domain Modelingdevcxl/mattpocock-skills-zh | 449 | — | ~412 | Automated safety check: Pass | MIT |
adamayoung/TMDb
Records non-obvious lessons from a finished task, such as gotchas, API quirks and design decisions, into a project's knowledge folder before a pull request opens.
brim-borium/spotify_sdk
Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.
Atmosphere/atmosphere
Write well-formatted notes to the atmosphere-vault Obsidian knowledge base.
vinvcn/mattpocock-skills-zh-CN
构建并打磨项目的领域模型。适用于讨论 codebase 术语、编写或编辑 GLOSSARY.md,或记录或编辑 ADR。
devcxl/mattpocock-skills-zh
构建和完善项目的领域模型。当讨论代码库术语、编写或编辑 GLOSSARY.md,或记录或编辑 ADR 时使用. An agent skill from devcxl/mattpocock-skills-zh.
iurysza/module-graph
Maintains project domain language, context maps, diagrams, and architectural decisions under ai-artifacts.
dykyi-roman/awesome-claude-code
PSR-4 autoloading standard knowledge base for PHP 8.4 projects.
dykyi-roman/awesome-claude-code
PSR-1 and PSR-12 coding standards knowledge base for PHP 8.4 projects.
dykyi-roman/awesome-claude-code
PHP Standards Recommendations (PSR) overview knowledge base.
dykyi-roman/awesome-claude-code
SOLID principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code.
dykyi-roman/awesome-claude-code
Comprehensive knowledge base for Claude Code formats, patterns, and configuration.
dykyi-roman/awesome-claude-code
Action-Domain-Responder pattern knowledge base. An agent skill from dykyi-roman/awesome-claude-code.
Works with
Categories
GRASP principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code. Grasp Knowledge is an agent skill from dykyi-roman/awesome-claude-code.4 projects.
Grasp Knowledge fits situations like: architecture audits and design decisions; tasks that involve Architecture decision records; tasks that involve Knowledge bases.
Run `npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a claude-code`. Or copy the skill folder (skills/grasp-knowledge in dykyi-roman/awesome-claude-code) into .claude/skills/grasp-knowledge in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a codex`. Or copy the skill folder (skills/grasp-knowledge in dykyi-roman/awesome-claude-code) into .agents/skills/grasp-knowledge in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dykyi-roman/awesome-claude-code --skill grasp-knowledge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/grasp-knowledge, .gemini/skills/grasp-knowledge, .github/skills/grasp-knowledge and .opencode/skills/grasp-knowledge in your project.
SKILL.md names no scripts, command-line tools or credentials: Grasp Knowledge is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Grasp Knowledge is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 25k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Grasp Knowledge: Capture Knowledge (adamayoung/TMDb, 178 stars), Domain Modeling (brim-borium/spotify_sdk, 166 stars), Obsidian Writer (Atmosphere/atmosphere, 3.8k stars) and Domain Modeling (vinvcn/mattpocock-skills-zh-CN, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dykyi-roman (a GitHub user) maintains it in dykyi-roman/awesome-claude-code, which has 104 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 16, 2026.
Source: dykyi-roman/awesome-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.