<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>PCS Vietnam Blog</title>
        <link>https://pcs.io.vn/blog</link>
        <description>PCS Vietnam Blog</description>
        <lastBuildDate>Sun, 12 Apr 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>vi</language>
        <item>
            <title><![CDATA[Everything Claude Code — Comprehensive Skill Review & Integration Strategy]]></title>
            <link>https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick</link>
            <guid>https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick</guid>
            <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Based on exploring the comprehensive Everything Claude Code repository — 156 skills, 72 commands, 38 agents. This guide covers how to cherry-pick tools without installing the full package.]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>Based on exploring the comprehensive Everything Claude Code repository — 156 skills, 72 commands, 38 agents. This guide covers how to cherry-pick tools without installing the full package.</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="repository-overview">Repository Overview<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#repository-overview" class="hash-link" aria-label="Đường dẫn trực tiếp đến Repository Overview" title="Đường dẫn trực tiếp đến Repository Overview" translate="no">​</a></h2>
<p>The Everything Claude Code repository is an Anthropic Hackathon winner containing 156 reusable skills across multiple AI platforms.</p>
<p><strong>Scope:</strong> 156 skills | 72 commands | 38 agents | 12+ hooks</p>
<p><strong>Target platforms:</strong> Claude Code (primary), Cursor, Codex, Gemini</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="claude-code-only-vs-shared-access">Claude Code-Only vs Shared Access<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#claude-code-only-vs-shared-access" class="hash-link" aria-label="Đường dẫn trực tiếp đến Claude Code-Only vs Shared Access" title="Đường dẫn trực tiếp đến Claude Code-Only vs Shared Access" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="claude-code-only-components">Claude Code-Only Components<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#claude-code-only-components" class="hash-link" aria-label="Đường dẫn trực tiếp đến Claude Code-Only Components" title="Đường dẫn trực tiếp đến Claude Code-Only Components" translate="no">​</a></h3>
<p>These features exist in <code>~/.claude/</code> and are not accessible to other AI environments:</p>
<ul>
<li class=""><code>~/.claude/skills/</code> — workflow definitions and automation scripts</li>
<li class=""><code>~/.claude/commands/</code> — slash command shims and integrations</li>
<li class=""><code>~/.claude/agents/</code> — subagent configurations</li>
<li class=""><code>settings.json</code> hooks — system event handlers</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="shared-components-multi-ai">Shared Components (Multi-AI)<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#shared-components-multi-ai" class="hash-link" aria-label="Đường dẫn trực tiếp đến Shared Components (Multi-AI)" title="Đường dẫn trực tiếp đến Shared Components (Multi-AI)" translate="no">​</a></h3>
<p>These can be accessed by Antigravity Agent, Gemini, or other tools:</p>
<ul>
<li class=""><code>rules/common/*.md</code> — security and style guidelines</li>
<li class=""><code>mcp-configs/</code> — JSON Model Context Protocol server configurations</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="critical-hook-dependency-issue">Critical Hook Dependency Issue<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#critical-hook-dependency-issue" class="hash-link" aria-label="Đường dẫn trực tiếp đến Critical Hook Dependency Issue" title="Đường dẫn trực tiếp đến Critical Hook Dependency Issue" translate="no">​</a></h2>
<p>A major finding: <strong>~90% of hooks depend on <code>${CLAUDE_PLUGIN_ROOT}/scripts/hooks/*.js</code></strong></p>
<p>This means:</p>
<ul>
<li class="">You cannot cherry-pick individual hooks</li>
<li class="">To use the full hooks system, you must run <code>install.ps1 --profile full</code> (complete installation)</li>
<li class="">Only simple hooks like <code>block-no-verify</code> work standalone</li>
</ul>
<p><strong>Implication:</strong> If you want selective skill cherry-picking without the full installation overhead, focus on skills and commands first.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="recommended-cherry-pick-strategy">Recommended Cherry-Pick Strategy<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#recommended-cherry-pick-strategy" class="hash-link" aria-label="Đường dẫn trực tiếp đến Recommended Cherry-Pick Strategy" title="Đường dẫn trực tiếp đến Recommended Cherry-Pick Strategy" translate="no">​</a></h2>
<p>For a tech stack focused on <strong>JavaScript / React / Cloudflare / PowerShell</strong>, here's what to cherry-pick:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="priority-1-skills--claudeskills">Priority 1: Skills → <code>~/.claude/skills/</code><a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#priority-1-skills--claudeskills" class="hash-link" aria-label="Đường dẫn trực tiếp đến priority-1-skills--claudeskills" title="Đường dẫn trực tiếp đến priority-1-skills--claudeskills" translate="no">​</a></h3>
<table><thead><tr><th>Skill</th><th>Purpose</th><th>Use Case</th></tr></thead><tbody><tr><td><code>security-review</code></td><td>Auth endpoint analysis, API key validation</td><td>pcs-platform phase 2a–2c security audits</td></tr><tr><td><code>mcp-server-patterns</code></td><td>MCP protocol implementation patterns</td><td>Building phase 2b MCP workers</td></tr><tr><td><code>api-design</code></td><td>REST API conventions and best practices</td><td>pcs-platform API endpoint design</td></tr><tr><td><code>frontend-patterns</code></td><td>React and Docusaurus component patterns</td><td>jaxvn-blog UI development</td></tr><tr><td><code>deployment-patterns</code></td><td>Cloudflare Workers and Pages deployment</td><td>Automating pcs.io.vn deployments</td></tr><tr><td><code>database-migrations</code></td><td>D1 SQLite migration strategies</td><td>pcs-data schema versioning</td></tr><tr><td><code>git-workflow</code></td><td>Branch strategy and commit conventions</td><td>Maintaining jaxvn-blog + pcs-platform repos</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="priority-2-commands--claudecommands">Priority 2: Commands → <code>~/.claude/commands/</code><a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#priority-2-commands--claudecommands" class="hash-link" aria-label="Đường dẫn trực tiếp đến priority-2-commands--claudecommands" title="Đường dẫn trực tiếp đến priority-2-commands--claudecommands" translate="no">​</a></h3>
<table><thead><tr><th>Command</th><th>Purpose</th></tr></thead><tbody><tr><td><code>code-review.md</code></td><td>Pre-push code review checklist</td></tr><tr><td><code>security-scan.md</code></td><td>Authentication code security audit</td></tr><tr><td><code>build-fix.md</code></td><td>Docusaurus build error troubleshooting</td></tr><tr><td><code>plan.md</code></td><td>Complex feature planning and design docs</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="priority-3-agents--claudeagents">Priority 3: Agents → <code>~/.claude/agents/</code><a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#priority-3-agents--claudeagents" class="hash-link" aria-label="Đường dẫn trực tiếp đến priority-3-agents--claudeagents" title="Đường dẫn trực tiếp đến priority-3-agents--claudeagents" translate="no">​</a></h3>
<table><thead><tr><th>Agent</th><th>Purpose</th></tr></thead><tbody><tr><td><code>code-reviewer.md</code></td><td>Delegate detailed code reviews</td></tr><tr><td><code>security-reviewer.md</code></td><td>Dedicated security threat modeling</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="priority-4-rules--merge-into-claudemd">Priority 4: Rules → Merge into <code>CLAUDE.md</code><a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#priority-4-rules--merge-into-claudemd" class="hash-link" aria-label="Đường dẫn trực tiếp đến priority-4-rules--merge-into-claudemd" title="Đường dẫn trực tiếp đến priority-4-rules--merge-into-claudemd" translate="no">​</a></h3>
<ul>
<li class=""><code>rules/common/security.md</code> — standard security checklist for all code</li>
<li class=""><code>rules/common/coding-style.md</code> — immutability and file organization patterns</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="installation-command-selective">Installation Command (Selective)<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#installation-command-selective" class="hash-link" aria-label="Đường dẫn trực tiếp đến Installation Command (Selective)" title="Đường dẫn trực tiếp đến Installation Command (Selective)" translate="no">​</a></h2>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain"># Copy skills</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/security-review ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/mcp-server-patterns ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/api-design ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/frontend-patterns ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/deployment-patterns ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/database-migrations ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/skills/git-workflow ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Copy commands</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/commands/code-review.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/commands/security-scan.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/commands/build-fix.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/commands/plan.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Copy agents</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/agents/code-reviewer ~/.claude/agents/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r Research/Claudeskill/agents/security-reviewer ~/.claude/agents/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Copy and merge rules</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/rules/common/security.md ~/.claude/docs/SECURITY.md</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp Research/Claudeskill/rules/common/coding-style.md ~/.claude/docs/STYLE.md</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-to-skip">What to Skip<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#what-to-skip" class="hash-link" aria-label="Đường dẫn trực tiếp đến What to Skip" title="Đường dẫn trực tiếp đến What to Skip" translate="no">​</a></h2>
<p><strong>Language-specific skills</strong> (if not in your stack):</p>
<ul>
<li class="">All Python, Java, Kotlin, Swift, Android skills</li>
<li class="">Rust, PHP, Perl modules</li>
<li class="">Language-specific build and test commands</li>
</ul>
<p><strong>Complex orchestration</strong> (too heavy for solo operators):</p>
<ul>
<li class="">Full hooks system (requires Node.js runtime + complete installation)</li>
<li class="">Agent harness orchestration (intended for team workflows)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-learnings">Key Learnings<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#key-learnings" class="hash-link" aria-label="Đường dẫn trực tiếp đến Key Learnings" title="Đường dẫn trực tiếp đến Key Learnings" translate="no">​</a></h2>
<ol>
<li class=""><strong>Hooks require full installation</strong> — cherry-pick skills instead</li>
<li class=""><strong>Security and API design</strong> should be top priority for pcs-platform work</li>
<li class=""><strong>Docusaurus patterns</strong> are essential for jaxvn-blog maintenance</li>
<li class=""><strong>Git workflow rules</strong> should be merged into project CLAUDE.md</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="related-notes">Related Notes<a href="https://pcs.io.vn/blog/2026/04/12/claude-code-skill-cherry-pick#related-notes" class="hash-link" aria-label="Đường dẫn trực tiếp đến Related Notes" title="Đường dẫn trực tiếp đến Related Notes" translate="no">​</a></h2>
<ul>
<li class="">[[guide-2026-04-04-cloudflare-auth-worker]] — pcs-platform Phase 2a implementation</li>
<li class="">[[2026-04-03]] — daily notes from initial pcs-auth Worker build</li>
<li class="">[[note-2026-04-04-everything-claude-code]] — vault original (Vietnamese)</li>
</ul>
<hr>
<p><strong>Status:</strong> ✅ Published 2026-04-12 | Integration planned for Phase 2g</p>]]></content:encoded>
            <category>claude-code</category>
            <category>skills</category>
            <category>automation</category>
            <category>integration</category>
            <category>tools</category>
        </item>
        <item>
            <title><![CDATA[How to Enforce Browser Policies Without a MDM]]></title>
            <link>https://pcs.io.vn/blog/browser-policy-without-mdm</link>
            <guid>https://pcs.io.vn/blog/browser-policy-without-mdm</guid>
            <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Most Vietnamese SMBs don't have Intune or SCCM. They have a mix of domain-joined PCs, workgroup machines, and sometimes both on the same floor. But you can still enforce consistent browser policies across all of them — using nothing but registry keys and a PowerShell script.]]></description>
            <content:encoded><![CDATA[<p>Most Vietnamese SMBs don't have Intune or SCCM. They have a mix of domain-joined PCs, workgroup machines, and sometimes both on the same floor. But you can still enforce consistent browser policies across all of them — using nothing but registry keys and a PowerShell script.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-browser-policy-matters">Why Browser Policy Matters<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#why-browser-policy-matters" class="hash-link" aria-label="Đường dẫn trực tiếp đến Why Browser Policy Matters" title="Đường dẫn trực tiếp đến Why Browser Policy Matters" translate="no">​</a></h2>
<p>Your browser is the #1 attack surface for most office workers. Phishing links, malicious extensions, HTTP sites that look legitimate — all of these land in the browser first.</p>
<p>The good news: Chrome and Edge both respect Windows Registry policies. You don't need a full MDM to lock them down. You just need the right registry keys and a way to deploy them.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-it-works">How It Works<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#how-it-works" class="hash-link" aria-label="Đường dẫn trực tiếp đến How It Works" title="Đường dẫn trực tiếp đến How It Works" translate="no">​</a></h2>
<p>Both Chrome and Edge read from:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">HKLM\SOFTWARE\Policies\Google\Chrome\</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">HKLM\SOFTWARE\Policies\Microsoft\Edge\</span><br></div></code></pre></div></div>
<p>Any value you write there overrides the browser's default behavior — and the user can't change it from the Settings UI. It's enforced silently, survives browser updates, and works identically whether the machine is on a domain or not.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="15-policies-worth-deploying">15 Policies Worth Deploying<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#15-policies-worth-deploying" class="hash-link" aria-label="Đường dẫn trực tiếp đến 15 Policies Worth Deploying" title="Đường dẫn trực tiếp đến 15 Policies Worth Deploying" translate="no">​</a></h2>
<p>Here's what I recommend as a baseline for any organization:</p>
<table><thead><tr><th>Policy</th><th>What it does</th><th>Risk level without it</th></tr></thead><tbody><tr><td><code>HomepageLocation</code></td><td>Force internal portal as homepage</td><td>Low — UX only</td></tr><tr><td><code>DefaultSearchProviderEnabled</code></td><td>Lock default search engine</td><td>Medium — data leakage</td></tr><tr><td><code>SafeBrowsingEnabled</code></td><td>Enable phishing/malware protection</td><td>High</td></tr><tr><td><code>PasswordManagerEnabled</code></td><td>Disable built-in password manager</td><td>High (if using enterprise password manager)</td></tr><tr><td><code>ExtensionInstallBlocklist</code></td><td>Block all extensions by default</td><td>High</td></tr><tr><td><code>ExtensionInstallAllowlist</code></td><td>Whitelist approved extensions</td><td>Required with blocklist</td></tr><tr><td><code>SSLErrorOverrideAllowed</code></td><td>Prevent users bypassing SSL errors</td><td>High</td></tr><tr><td><code>IncognitoModeAvailability</code></td><td>Disable incognito/InPrivate</td><td>Medium</td></tr><tr><td><code>AutofillCreditCardEnabled</code></td><td>Disable credit card autofill</td><td>Medium</td></tr><tr><td><code>AutofillAddressEnabled</code></td><td>Disable address autofill</td><td>Low</td></tr><tr><td><code>TranslateEnabled</code></td><td>Control Google Translate</td><td>Low</td></tr><tr><td><code>DeveloperToolsAvailability</code></td><td>Restrict DevTools</td><td>Medium (prevents JS injection)</td></tr><tr><td><code>SyncDisabled</code></td><td>Disable browser account sync</td><td>High (data residency)</td></tr><tr><td><code>BrowserSignin</code></td><td>Control sign-in behavior</td><td>High</td></tr><tr><td><code>MetricsReportingEnabled</code></td><td>Control telemetry</td><td>Low — compliance only</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deploying-via-powershell">Deploying via PowerShell<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#deploying-via-powershell" class="hash-link" aria-label="Đường dẫn trực tiếp đến Deploying via PowerShell" title="Đường dẫn trực tiếp đến Deploying via PowerShell" translate="no">​</a></h2>
<p>Each policy maps to a single registry value. A basic Set script looks like this:</p>
<div class="language-powershell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-powershell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">#Requires -RunAsAdministrator</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">function Ensure-RegistryPath {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    param([string]$Path)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    if (-not (Test-Path $Path)) {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        New-Item -Path $Path -Force | Out-Null</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$ChromePath = "HKLM:\SOFTWARE\Policies\Google\Chrome"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$EdgePath   = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Ensure-RegistryPath $ChromePath</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Ensure-RegistryPath $EdgePath</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Enable Safe Browsing</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Set-ItemProperty -Path $ChromePath -Name "SafeBrowsingEnabled" -Value 1 -Type DWord</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Set-ItemProperty -Path $EdgePath   -Name "SmartScreenEnabled"  -Value 1 -Type DWord</span><br></div></code></pre></div></div>
<p>And every Set script should have a matching Remove script that cleans up the keys:</p>
<div class="language-powershell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-powershell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">#Requires -RunAsAdministrator</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$ChromePath = "HKLM:\SOFTWARE\Policies\Google\Chrome"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$EdgePath   = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Remove-ItemProperty -Path $ChromePath -Name "SafeBrowsingEnabled" -ErrorAction SilentlyContinue</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Remove-ItemProperty -Path $EdgePath   -Name "SmartScreenEnabled"  -ErrorAction SilentlyContinue</span><br></div></code></pre></div></div>
<p>This is the Set/Remove pattern — for every policy you deploy, you have a clean rollback path.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deploy-via-action1">Deploy via Action1<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#deploy-via-action1" class="hash-link" aria-label="Đường dẫn trực tiếp đến Deploy via Action1" title="Đường dẫn trực tiếp đến Deploy via Action1" translate="no">​</a></h2>
<p>If you're using Action1 (free up to 200 endpoints — the right choice for Vietnamese SMBs), deployment is straightforward:</p>
<ol>
<li class="">Upload the <code>.ps1</code> to Action1 → Scripts</li>
<li class="">Create a Policy, target by OU or tag</li>
<li class="">Set scheduled enforcement (weekly re-run to catch new machines)</li>
</ol>
<p>The scripts run as SYSTEM with elevation, so no UAC prompts, no user interaction.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="skip-gpo-if-you-can">Skip GPO If You Can<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#skip-gpo-if-you-can" class="hash-link" aria-label="Đường dẫn trực tiếp đến Skip GPO If You Can" title="Đường dẫn trực tiếp đến Skip GPO If You Can" translate="no">​</a></h2>
<p>GPO works, but it has friction: you need a DC, you need the ADMX templates imported, and workgroup machines are excluded entirely. Registry-based PowerShell scripts work everywhere — domain, workgroup, Azure AD joined, hybrid. Same behavior, zero dependencies.</p>
<p>The only thing GPO gives you that scripts don't is real-time enforcement on policy change. For most SMBs, a weekly re-run schedule covers that gap.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="use-the-generator">Use the Generator<a href="https://pcs.io.vn/blog/browser-policy-without-mdm#use-the-generator" class="hash-link" aria-label="Đường dẫn trực tiếp đến Use the Generator" title="Đường dẫn trực tiếp đến Use the Generator" translate="no">​</a></h2>
<p>Rather than writing these scripts by hand, I built a tool that generates ready-to-deploy Set and Remove <code>.ps1</code> scripts for all 15 policies above:</p>
<p><strong><a href="https://pcs.io.vn/tools/browser-policy" target="_blank" rel="noopener noreferrer" class="">Browser Policy Manager → pcs.io.vn/tools/browser-policy</a></strong></p>
<p>Select the policies you want, configure the values, and download two files: <code>Set-BrowserPolicy.ps1</code> and <code>Remove-BrowserPolicy.ps1</code>. Upload directly to Action1.</p>
<p>The tool covers Chrome and Edge simultaneously — one script pair, both browsers.</p>]]></content:encoded>
            <category>browser-policy</category>
            <category>chrome</category>
            <category>edge</category>
            <category>windows</category>
            <category>powershell</category>
            <category>security</category>
        </item>
        <item>
            <title><![CDATA[Everything Claude Code: What's Worth Taking (And What Isn't)]]></title>
            <link>https://pcs.io.vn/blog/everything-claude-code-review</link>
            <guid>https://pcs.io.vn/blog/everything-claude-code-review</guid>
            <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Everything Claude Code is an Anthropic Hackathon-winning repo with 50K+ stars. It ships 156 skills, 72 commands, 38 agents, and a full hooks system for Claude Code. Here's my honest breakdown after auditing it for my own stack.]]></description>
            <content:encoded><![CDATA[<p><a href="https://github.com/affaan-m/everything-claude-code" target="_blank" rel="noopener noreferrer" class="">Everything Claude Code</a> is an Anthropic Hackathon-winning repo with 50K+ stars. It ships 156 skills, 72 commands, 38 agents, and a full hooks system for Claude Code. Here's my honest breakdown after auditing it for my own stack.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-actually-in-here">What's Actually In Here<a href="https://pcs.io.vn/blog/everything-claude-code-review#whats-actually-in-here" class="hash-link" aria-label="Đường dẫn trực tiếp đến What's Actually In Here" title="Đường dẫn trực tiếp đến What's Actually In Here" translate="no">​</a></h2>
<p>The repo is structured around four core components:</p>
<table><thead><tr><th>Component</th><th>Count</th><th>What it does</th></tr></thead><tbody><tr><td><code>skills/</code></td><td>156</td><td>Workflow definitions — domain knowledge bundled into reusable prompts</td></tr><tr><td><code>commands/</code></td><td>72</td><td>Slash command shims (mostly <code>/tdd</code>, <code>/plan</code>, <code>/code-review</code>, etc.)</td></tr><tr><td><code>agents/</code></td><td>38</td><td>Subagent configs for delegating specific tasks</td></tr><tr><td><code>hooks/</code></td><td>12+</td><td>Lifecycle automations (PreToolUse, Stop, SessionStart, etc.)</td></tr></tbody></table>
<p>Plus language-specific rules for TypeScript, Python, Go, Java, Kotlin, Swift, C++, Rust, Perl, PHP, and more.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="claude-only-vs-cross-agent">Claude-Only vs Cross-Agent<a href="https://pcs.io.vn/blog/everything-claude-code-review#claude-only-vs-cross-agent" class="hash-link" aria-label="Đường dẫn trực tiếp đến Claude-Only vs Cross-Agent" title="Đường dẫn trực tiếp đến Claude-Only vs Cross-Agent" translate="no">​</a></h2>
<p>The first thing to understand: most of this is Claude Code-specific.</p>
<p><strong>Claude Code only:</strong></p>
<ul>
<li class=""><code>~/.claude/skills/</code> — only Claude Code reads these</li>
<li class=""><code>~/.claude/commands/</code> — slash command definitions</li>
<li class=""><code>~/.claude/agents/</code> — subagent configs</li>
<li class="">Hooks in <code>settings.json</code> — lifecycle events Claude Code fires</li>
</ul>
<p><strong>Cross-agent (works with Gemini, Cursor, etc.):</strong></p>
<ul>
<li class=""><code>rules/common/*.md</code> — security and style guidelines any AI can follow</li>
<li class=""><code>mcp-configs/</code> — MCP server JSON configs, client-agnostic</li>
<li class="">Any rule content you paste into a shared CLAUDE.md / AGENTS.md</li>
</ul>
<p>If you run multiple AI environments (I use Claude Code + Antigravity/Gemini), the rules folder is the most transferable investment.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-hooks-problem">The Hooks Problem<a href="https://pcs.io.vn/blog/everything-claude-code-review#the-hooks-problem" class="hash-link" aria-label="Đường dẫn trực tiếp đến The Hooks Problem" title="Đường dẫn trực tiếp đến The Hooks Problem" translate="no">​</a></h2>
<p>The hooks look powerful on paper:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"PreToolUse"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"matcher"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Bash"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"hooks"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"command"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"command"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"npx block-no-verify@1.1.2"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"description"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Block --no-verify on git commits"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>But 90% of them reference <code>${CLAUDE_PLUGIN_ROOT}/scripts/hooks/*.js</code> — Node.js scripts that only exist inside the installed plugin. You cannot cherry-pick the hooks JSON without installing the full package.</p>
<p>The simpler hooks (like <code>block-no-verify</code>) work standalone. The rest require <code>install.ps1 --profile full</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-i-actually-kept-cloudflarereact-stack">What I Actually Kept (Cloudflare/React Stack)<a href="https://pcs.io.vn/blog/everything-claude-code-review#what-i-actually-kept-cloudflarereact-stack" class="hash-link" aria-label="Đường dẫn trực tiếp đến What I Actually Kept (Cloudflare/React Stack)" title="Đường dẫn trực tiếp đến What I Actually Kept (Cloudflare/React Stack)" translate="no">​</a></h2>
<p>My stack is JavaScript, React/Docusaurus, and Cloudflare Workers — not Python or Java. Out of 156 skills, about 8 are directly relevant:</p>
<p><strong>Skills worth keeping:</strong></p>
<table><thead><tr><th>Skill</th><th>Why</th></tr></thead><tbody><tr><td><code>security-review</code></td><td>Auth endpoints, API keys, worker security</td></tr><tr><td><code>mcp-server-patterns</code></td><td>Building MCP servers on Cloudflare Workers</td></tr><tr><td><code>api-design</code></td><td>REST conventions for multi-tenant APIs</td></tr><tr><td><code>frontend-patterns</code></td><td>React component patterns</td></tr><tr><td><code>deployment-patterns</code></td><td>Cloudflare Pages/Workers deploy flow</td></tr><tr><td><code>database-migrations</code></td><td>D1 schema management</td></tr><tr><td><code>git-workflow</code></td><td>Branch strategy and commit conventions</td></tr></tbody></table>
<p><strong>Commands worth keeping:</strong></p>
<table><thead><tr><th>Command</th><th>Why</th></tr></thead><tbody><tr><td><code>/code-review</code></td><td>Pre-push quality check</td></tr><tr><td><code>/security-scan</code></td><td>Before deploying auth code</td></tr><tr><td><code>/build-fix</code></td><td>When Docusaurus build breaks</td></tr><tr><td><code>/plan</code></td><td>Implementation planning on complex features</td></tr></tbody></table>
<p><strong>Agents worth keeping:</strong></p>
<table><thead><tr><th>Agent</th><th>Why</th></tr></thead><tbody><tr><td><code>code-reviewer.md</code></td><td>Delegate review to subagent</td></tr><tr><td><code>security-reviewer.md</code></td><td>Dedicated security analysis</td></tr></tbody></table>
<p><strong>Rules worth merging into CLAUDE.md:</strong></p>
<ul>
<li class=""><code>rules/common/security.md</code> — solid baseline checklist</li>
<li class=""><code>rules/common/coding-style.md</code> — immutability, file organization</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-i-skipped">What I Skipped<a href="https://pcs.io.vn/blog/everything-claude-code-review#what-i-skipped" class="hash-link" aria-label="Đường dẫn trực tiếp đến What I Skipped" title="Đường dẫn trực tiếp đến What I Skipped" translate="no">​</a></h2>
<ul>
<li class="">All Python, Java, Kotlin, Swift, Android, Rust, PHP, Perl skills (not my stack)</li>
<li class="">The full hooks system (requires Node.js environment + full install)</li>
<li class="">Agent harness orchestration (overkill for a solo operator)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-install-selectively">How to Install Selectively<a href="https://pcs.io.vn/blog/everything-claude-code-review#how-to-install-selectively" class="hash-link" aria-label="Đường dẫn trực tiếp đến How to Install Selectively" title="Đường dẫn trực tiếp đến How to Install Selectively" translate="no">​</a></h2>
<p>The repo ships <code>install.ps1</code> / <code>install.sh</code> with <code>--profile full</code> or per-language flags:</p>
<div class="language-powershell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-powershell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain"># Install only what you need</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.\install.ps1 typescript     # TypeScript rules only</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.\install.ps1 --profile full  # Everything (156 skills, all rules)</span><br></div></code></pre></div></div>
<p>For a selective cherry-pick without the installer:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain"># Copy only the skills you want</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r skills/security-review ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r skills/mcp-server-patterns ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp -r skills/api-design ~/.claude/skills/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Copy useful commands</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp commands/code-review.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp commands/security-scan.md ~/.claude/commands/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Copy common rules</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">cp rules/common/security.md ~/.claude/rules/</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bottom-line">Bottom Line<a href="https://pcs.io.vn/blog/everything-claude-code-review#bottom-line" class="hash-link" aria-label="Đường dẫn trực tiếp đến Bottom Line" title="Đường dẫn trực tiếp đến Bottom Line" translate="no">​</a></h2>
<p>ECC is genuinely useful — but it's built for polyglot teams shipping TypeScript, Python, Go, Java, and Kotlin simultaneously. If your stack is narrower, install selectively.</p>
<p>The two things worth having regardless of stack:</p>
<ol>
<li class=""><strong><code>rules/common/security.md</code></strong> — every project benefits from this checklist</li>
<li class=""><strong><code>skills/security-review/</code></strong> — activates automatically when you touch auth code</li>
</ol>
<p>Everything else: read the skill, decide if it matches your actual workflow, copy only what you'll actually invoke.</p>
<hr>
<p><em>Stack: Cloudflare Workers + D1, Docusaurus 3.7, React 18, PowerShell. Running Claude Code (Pro) as primary coding environment.</em></p>]]></content:encoded>
            <category>claude</category>
            <category>ai-tools</category>
            <category>productivity</category>
            <category>developer-tools</category>
        </item>
        <item>
            <title><![CDATA[Greetings!]]></title>
            <link>https://pcs.io.vn/blog/greetings</link>
            <guid>https://pcs.io.vn/blog/greetings</guid>
            <pubDate>Fri, 07 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Congratulations, you have made your first post!]]></description>
            <content:encoded><![CDATA[<p>Congratulations, you have made your first post!</p>
<p>Feel free to play around and edit this post as much as you like.</p>]]></content:encoded>
            <category>greetings</category>
        </item>
    </channel>
</rss>