By hiendinhngoc
Run structured reconnaissance on unfamiliar codebases to surface hidden risks, log deviations from plans, quiz yourself on risky diffs before merging, validate UX with interactive prototypes, and verify comprehension of reference code before adapting it.
Read-only reconnaissance pass over an unfamiliar codebase, system, or feature area to surface hidden risks before any code is written. Use when starting work in unfamiliar territory, before a risky change, or when the user says "blindspot pass", "what am I missing", or "scan for risks".
Record a place where the code forced a deviation from the agreed plan. Use mid-implementation whenever reality contradicts the plan, or when the user says "log this deviation". The log feeds future planning and the merge quiz.
Pre-merge comprehension gate that quizzes the USER on the riskiest parts of the branch diff. Use before merging or opening a PR, or when the user says "merge quiz", "am I ready to merge", or "quiz me on this diff".
Build a throwaway interactive prototype to validate one unresolved interaction or behavior before writing production code. Use when the user explicitly asks to "mock it up first" or "prototype this", or when competing UI behaviors need a disposable hands-on comparison.
Lifecycle orchestrator for the unknowns plugin. Detects the current phase of work (pre-implementation, mid-implementation, pre-merge) and routes to the right technique skill. Use when the user says "/unknowns", "know my unknowns", or is unsure which unknowns skill applies.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Agent skills for systematically discovering and closing knowledge gaps before, during, and after implementation.
The techniques come from Know Your Unknowns by Thariq Shihipar — all credit for the ideas goes to him. This repo turns them into invocable Agent Skills (SKILL.md format) for Claude Code, Codex CLI, OpenCode, and other agents.
| Skill | Phase | What it does |
|---|---|---|
/unknowns:blindspot | pre-implementation | Read-only risk recon of an unfamiliar system |
/unknowns:verify-ref | pre-implementation | Comprehension proof before porting existing code |
/unknowns:mock | pre-implementation | Throwaway interactive prototype before production code |
/unknowns:log-deviation | during | Log every place the code forced a plan deviation |
/unknowns:merge-quiz | pre-merge | Quiz the USER on the riskiest parts of the diff |
/unknowns:unknowns | any | Orchestrator: detects phase, routes to the right skill |
/plugin marketplace add hiendinhngoc/unknowns
/plugin install unknowns@unknowns
Restart Claude Code. Skills appear as /unknowns:<name> in every project.
For local development, add your clone by path instead:
/plugin marketplace add /path/to/unknowns
Copy the skill directories into Codex's skills folder:
cp -r skills/* ~/.codex/skills/
# global (all projects)
cp -r skills/* ~/.config/opencode/skills/
# or per project
cp -r skills/* .opencode/skills/
The skills are plain SKILL.md files following the open Agent Skills standard
(YAML frontmatter + markdown instructions). Any agent that supports the
standard can load them from its skills directory. For agents without native
skill support, paste a SKILL.md's body into the system/custom prompt — it
works as a plain instruction set.
Invoke skills directly by name, or let the agent auto-trigger them from the descriptions ("what am I missing here?" triggers blindspot, "port X" triggers verify-ref, etc.).
Starting work in unfamiliar code:
/unknowns:blindspot src/billing/
→ ranked list of 5–7 risks, each with a ready-to-paste follow-up prompt.
Porting or adapting existing code:
/unknowns:verify-ref port the retry logic from legacy/http_client.py
→ the agent must produce a comprehension proof (data flow, edge cases, invariants, hidden deps) and get your confirmation before writing any code.
Undecided UX or behavior:
/unknowns:mock the new filter panel — inline vs sidebar?
→ disposable interactive HTML prototype; ends with a short spec of validated decisions. Prototype code is never copied into the codebase.
Mid-implementation, when reality contradicts the plan:
/unknowns:log-deviation the API doesn't support batch deletes after all
→ appends a structured entry to docs/deviations/YYYY-MM-DD-<task>.md.
Before merging:
/unknowns:merge-quiz
→ 3–5 questions about the riskiest parts of your diff. Missed answers get explained and flagged; ends with a paste-ready merge-readiness note for the PR.
Not sure which applies:
/unknowns:unknowns
→ detects your phase from git state and routes to the right skill.
Three skills mention Claude Code-specific tools; each degrades gracefully elsewhere (the SKILL.md files say so inline):
The plugin packaging (.claude-plugin/) is Claude Code-only; the skills/
directory is the portable part.
New skills welcome — the bar is that they surface unknowns and don't duplicate
what the ecosystem already covers. See CONTRIBUTING.md for
skill structure conventions and local testing. tests/eval.sh behavior-tests
the non-interactive skills against a live agent (manual, costs tokens). Design
docs live in docs/specs/, with historical implementation plans
in docs/plans/.
Automated by release-please
from conventional commits: fix: bumps patch, feat: bumps minor, feat!:
bumps major. It keeps a release PR open on main; merging it tags the release,
writes the changelog, and bumps the version in .claude-plugin/plugin.json.
npx claudepluginhub hiendinhngoc/unknowns --plugin unknownsDesign fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations on LLM coding pitfalls
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.