Feature/Observation-System/SKILL.md
MUST use when user says 'survey project', 'scan project', 'check health', 'investigate', 'deep dive', 'what's going on in', 'look into', 'refine code', 'clean up code', 'review changes', 'sharpen', 'audit system', 'full audit', 'show me everything', or when the AI needs to assess project health before planning, review code quality after implementation, or investigate a bug. Also triggers on 'how does this project look', 'what's the status', 'review what I changed', 'check for issues'.
npx skillsauth add kiyoraka/project-ai-memorycore observationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"See clearly before you act. Act only on what you see."
Four commands, each at a different depth:
| Command | Activation Message | Time |
|---------|-------------------|------|
| Survey | "Scanning project from above..." | ~30 sec |
| Investigate | "Focusing on [target]..." | ~5 min |
| Refine | "Reviewing changed code..." | ~5 min |
| Audit | "Revealing all connections..." | ~15 min |
Then execute the matching protocol below.
| Context | Status | |---------|--------| | User says "survey", "scan", "check health", "project status" | ACTIVE — run Survey | | User says "investigate", "deep dive", "look into", "what's going on" | ACTIVE — run Investigate | | User says "refine", "clean up", "review changes", "check my code" | ACTIVE — run Refine | | User says "audit", "full audit", "show me everything" | ACTIVE — run Audit | | Before planning a large feature | ACTIVE — Survey first | | After implementation, before commit | ACTIVE — Refine (code was written) | | Bug report or error investigation | ACTIVE — Investigate (bug mode) | | Casual conversation, no project context | DORMANT — no observation | | Non-code tasks, research, documentation | DORMANT — no code to observe |
Parse the user's request and dispatch to the matching depth level:
| Depth | Command | Question It Answers | Time | |-------|---------|-------------------|------| | Lv.1 | Survey | "What's the state of the project?" | ~30 sec | | Lv.2 | Investigate | "What's happening in this specific area?" | ~5 min | | Lv.2 | Refine | "What can be improved in changed code?" | ~5 min | | Lv.3 | Audit | "Show me everything about this system." | ~15 min |
Follow the detailed protocol for the selected command (see sections below).
After completing any tier, suggest the next appropriate depth if findings warrant it (see Escalation Paths).
Four commands at three depth levels. Survey/Investigate/Audit are investigative (observe and report). Refine is corrective (observe and fix).
| Situation | Tier | |-----------|------| | "How's the project looking?" | Survey | | "What's going on in this area?" | Investigate | | "Clean up what I just wrote" | Refine | | "Audit the entire system" | Audit | | Before designing a feature | Survey → then plan | | After coding, before commit | Refine | | Tracking down a bug | Investigate (bug mode) | | Quarterly health check | Audit |
Survey spots problem area → Investigate that area
Investigate finds deep issue → Audit the full system
Survey/Investigate/Audit → Refine specific code
Refine finds systemic issue → Audit the full system
Quick bird's-eye view of a project — structure, tech stack, health, and recent activity.
| Argument | Action | Example |
|----------|--------|---------|
| <project> | Scan specific project | survey tariqms |
| (none) | Scan current working directory | survey |
| all | Overview of ALL active projects | survey all |
Adapt to the project's actual stack:
package.json, pubspec.yaml, etc.) — UI library, framework, test runner.csproj, pom.xml, go.mod, Cargo.toml, etc.) — dependencies, framework versionDetect from project files:
.csproj → .NET version, target frameworkpackage.json → Frontend framework, key dependencies.github/workflows/, Jenkinsfile, etc.)docker-compose.yml, Dockerfile)dotnet build / npm run build)git status --short)git log --oneline -5)Cross-reference project against past incidents (if Post-Mortem System is installed):
Survey: [PROJECT NAME]
Structure: [X] backend | [Y] frontend | [Z] tests
Stack: [.NET X] + [Framework] + [DB]
Health: [Build status] | [Git status] | [Last commit]
Recent: [Last 3-5 commits, one line each]
Lessons: [N relevant past incidents] (if any)
Deeper analysis? → investigate <area>
Full audit? → audit
Keep it compact — the whole output should fit on one screen.
When all is specified, scan all active projects and show a summary table:
Survey: All Active Projects
#1 ProjectA — .NET 10 + Nuxt 3 | Clean | 2 days ago
#2 ProjectB — .NET 9 + React 19 | 3 dirty | 3 days ago
#3 ProjectC — Next.js 15 | Clean | 2 weeks ago
Focused investigation of a specific area — trace bugs, reveal hidden patterns, analyze code flow.
| Argument | Action | Example |
|----------|--------|---------|
| <file path> | Analyze specific file | investigate src/services/AuthService.cs |
| <topic> | Investigate topic across project | investigate authentication |
| bug <description> | Bug investigation mode | investigate bug search not working |
| review <file> | Code review mode | investigate review PaymentService.cs |
Program.cs, app.module.ts, main.go)Investigate: AuthService.cs
Location: src/Application/Services/AuthService.cs
Dependencies: IUserRepository, IJwtService, IRefreshTokenRepository
Used by: AuthController.cs, MiddlewareExtensions.cs
Findings:
1. Token expiry hardcoded (line 47) — should be from config
2. No rate limiting on login attempts
3. RefreshToken rotation working correctly
Hidden Pattern:
Logout doesn't invalidate ALL refresh tokens for a user —
only the current one. Multi-device login leaves stale tokens.
Related library entries: [jwt-refresh-token-pattern] (if Library System installed)
Entry Point → Controller → Service → Repository → Database
| | | | |
[Route] [Validation] [Logic] [Query] [Table]
Symptom: "[description]"
|
UI: Component → handler function
|
API: endpoint call
|
Backend: Controller → Service → [where it breaks]
|
ROOT CAUSE: [specific cause with file:line]
Investigate: [target]
Location: [file path or topic scope]
Files: [N files touching this area]
Findings:
1. [Finding with file:line reference]
2. [Finding with file:line reference]
Hidden Patterns:
[Non-obvious behavior or undocumented assumptions]
Related: [library entries if Library System installed]
Escalate: investigate <deeper area> | audit (if systemic)
Reviews changed code for reuse, quality, and efficiency — then fixes what it finds.
Key difference from other tiers: Refine doesn't just observe — it acts. After presenting findings, it fixes issues with permission.
| Argument | Action | Example |
|----------|--------|---------|
| <file> | Review specific file | refine src/services/SlaService.cs |
| <area> | Review area/feature | refine auth, refine dashboard |
| (none) | Review all changed files (git diff) | refine |
| Target | Scope |
|--------|-------|
| No argument | git diff --name-only + git diff --cached --name-only — all changed files |
| File path | That specific file |
| Area keyword | Grep for related files, review the cluster |
Skip: Generated files, migrations, lock files, node_modules, bin/, obj/
For each file in scope:
Rule: Understand intent before judging quality. Never "fix" something that was intentional.
Refine: [scope]
Reviewed: [N] files, [N] lines changed
Found:
[N] issues to fix (dead code, bugs, N+1)
[N] suggestions (could improve, optional)
[N] files — clean, no action needed
Details:
[file:line] — [category] — [description]
After presenting findings, always ask the user before applying any fixes:
| Category | Behavior | |----------|----------| | Dead code, unused imports | Safe to fix — no behavior change. Still ask first. | | Obvious bugs | Always ask — explain the bug and proposed fix | | Simplification | Present as suggestion — user decides | | Reuse opportunity | Present as suggestion — user decides |
Rule: Never auto-apply fixes without user approval. Present findings first, fix second.
Full system audit — ALL connections, dependencies, data flows, and their consequences revealed.
| Argument | Action | Example |
|----------|--------|---------|
| <project> | Full audit of specific project | audit tariqms |
| (none) | Audit current project context | audit |
| cross | Cross-project analysis | audit cross |
package.json, etc.) — UI library, state management, build tool, test frameworktsconfig.json, vite.config.ts, etc.) — path aliases, strictness.csproj, pom.xml, go.mod, etc.) — dependencies, target frameworkProgram.cs, main.go, app.module.ts, etc.) — DI registrations, middleware, auth schemeThis is the only tier that loads FULL available context before analysis. Skip any context sources that are not configured.
Read the entire project structure and draw an architecture diagram:
Audit: [PROJECT] — Full System Audit
ARCHITECTURE MAP
+-----------------------------------------------+
| CLIENT |
| [Framework] + [UI Library] + TypeScript |
| Pages -> State -> API calls |
+------------------------+----------------------+
| HTTP/HTTPS
+------------------------v----------------------+
| API LAYER |
| [Backend Framework] |
| Controllers -> Services |
+-----------------------------------------------+
| APPLICATION LAYER |
| Services, DTOs, Interfaces |
+-----------------------------------------------+
| DOMAIN LAYER |
| Entities, Enums, Value Objects |
+-----------------------------------------------+
| PERSISTENCE LAYER |
| [ORM] + [Database] |
+------------------------+----------------------+
|
+----------v----------+
| [Database] |
+---------------------+
Map ALL dependencies — internal and external:
DEPENDENCY MAP
Explicit (enforced):
EntityA -> EntityB (FK: entity_b_id)
Implicit (NOT enforced):
! Config dictionary hardcoded in Service — no migration
! String comparison for role check — not constant/enum
Trace ALL data flows through the system:
Categorize findings by risk level:
RISK ASSESSMENT
HIGH:
- [Critical finding with impact]
MEDIUM:
- [Notable finding, should address]
LOW:
- [Minor, address when convenient]
Based on full audit, provide prioritized actionable recommendations:
RECOMMENDATIONS (prioritized)
1. [HIGH] [Action item with clear rationale]
2. [MED] [Action item]
3. [LOW] [Action item]
Link findings to existing library entries (if Library System installed):
When cross is specified, analyze shared patterns across all active projects:
Audit: Cross-Project Analysis
SHARED PATTERNS
Auth: JWT + Refresh Token — ProjectA, ProjectB, ProjectC
DB: PostgreSQL — ProjectA, ProjectB
Arch: Clean Architecture — ProjectA, ProjectB
DIVERGENCES
Frontend: Vue (A) vs React (B) vs Next.js (C)
Hosting: Railway (A) vs IIS (B) vs Vercel (C)
OPPORTUNITIES
- Auth pattern could be extracted to shared library
- Database patterns consistent across projects
All tiers start with a dependency scan. This is deliberate — observation skills review code against patterns. Wrong pattern assumptions lead to wrong findings and broken builds.
Rule: Never assume standard library behavior. Custom wrappers may change prop signatures, method behavior, or DI lifetimes. Always verify against actual source before suggesting changes.
When the Library System is installed, observation tiers integrate with it:
When the Post-Mortem System is installed:
Not all tiers require the same computational effort. Matching tier to model saves cost without sacrificing quality.
| Tier | Effort | Delegation Strategy | Rationale | |------|--------|-------------------|-----------| | Survey | Low | Can delegate to lighter model/agent | Mostly file scanning, git status — minimal reasoning needed | | Investigate | Medium | Primary AI recommended | Requires code comprehension, flow tracing, root cause analysis | | Refine | Medium | Primary AI recommended | Must understand intent before fixing — nuance matters | | Audit | High | Primary AI recommended | Deep reasoning, cross-system analysis, risk assessment, architectural judgment |
Daily workflow:
Survey (low) → code → Refine (medium) → commit
^-- catches issues before they compound
Weekly/milestone:
Audit (high) → captures systemic issues that daily Refine misses
The key insight: frequent cheap observation prevents expensive deep audits. A team that Surveys daily and Refines before every commit rarely needs emergency Audits.
| Situation | Behavior | |-----------|----------| | No project context | Ask user to specify a project or navigate to a project directory | | Empty project (no code yet) | Survey reports structure only; Investigate/Refine/Audit skip with "no code to observe" | | Only backend or only frontend | Skip irrelevant dependency scans; adapt output format | | No git history | Skip Recent Activity and git-diff-based Refine scope; note in output | | User asks for "review" | Disambiguate: code review → Investigate (review mode) or quality pass → Refine | | Library System not installed | Skip library cross-references; observation still works independently | | Post-Mortem System not installed | Skip domain lesson check in Survey; no past incident references | | Refine finds no issues | Report clean: "No issues found. Code is sharp." | | Audit of very large project | Warn about time requirement; offer to audit specific subsystems instead | | Cross audit with no shared patterns | Report divergences as the finding — diversity isn't a problem unless it causes maintenance burden |
development
MUST use when user says 'copy plan', 'append plan', 'resume plan', 'load plan', 'start the plan', 'continue the plan', 'execute plan', 'run the plan', 'pick up where we left off', or when the AI exits plan mode and needs to transfer the plan into execution format. This skill manages the full lifecycle of project plans — from plan output to tracked checkbox execution with per-todo commits.
data-ai
MUST use when user says 'save topic', 'save to topic diary', 'remember this under', 'review topic', 'list topics', or when a generic 'save' request needs routing between session memory, daily diary, topic diary, or all targets.
documentation
Auto-triggers when user says 'create songs', 'new album', 'create album', 'make music', 'muse this', 'write a song', 'create a song', 'compose', 'song from image', 'album from image', 'generate album', 'write songs', or when user shares an image and wants to create music from it.
tools
# 📋 Session Briefing — Skill Plugin ## Skill Name Session Briefing ## Trigger Words - Session start (automatic — fires before first response) - `"brief"` - `"session brief"` - `"what did we do last time"` - `"where did we leave off"` ## Suppress Trigger - `"skip brief"` — suppresses for this session only ## Activation Condition Fires automatically at the start of every new conversation session, before processing the user's first message. ## Behavior 1. Read `main/current-session.md` — extr